"""
文件名: __init__.py
描述: 数据模型包初始化文件

本模块包含以下主要数据模型：
1. User - 用户模型（用户基本信息、OAuth tokens）
2. Channel - YouTube频道模型
3. Category - 频道分类模型
4. Video - 视频缓存模型
5. UserChannel - 用户频道关联模型

依赖模块:
   - sqlalchemy: ORM框架
   - pydantic: 数据验证
   - datetime: 时间处理

使用示例:
   >>> from src.models import User, Channel, Category
   >>> user = User(email="test@example.com", name="Test User")

注意事项:
   - 所有模型都继承自Base类
   - 使用SQLAlchemy的声明式语法
   - 包含Pydantic模型用于API序列化
   - 遵循数据库设计最佳实践

作者: AI助手
创建日期: 2024-06-27
最后修改: 2024-06-27
版本: 1.0.0
"""

from .user import User, UserCreate, UserUpdate, UserInDB
from .channel import Channel, ChannelCreate, ChannelUpdate, ChannelInDB
from .category import (
    Category, 
    CategoryCreate, 
    CategoryUpdate, 
    CategoryInDB,
    UserChannel,
    UserChannelCreate,
    UserChannelUpdate,
    UserChannelInDB,
    DEFAULT_CATEGORIES,
)
from .video import Video, VideoCreate, VideoUpdate, VideoInDB

__all__ = [
    "User",
    "UserCreate", 
    "UserUpdate",
    "UserInDB",
    "Channel",
    "ChannelCreate",
    "ChannelUpdate", 
    "ChannelInDB",
    "Category",
    "CategoryCreate",
    "CategoryUpdate",
    "CategoryInDB",
    "UserChannel",
    "UserChannelCreate",
    "UserChannelUpdate",
    "UserChannelInDB",
    "DEFAULT_CATEGORIES",
    "Video",
    "VideoCreate",
    "VideoUpdate",
    "VideoInDB",
]